#define _CRT_SECURE_NO_WARNINGS 1
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
#include<vector>
#include<algorithm>
#include<iomanip>
using namespace std;

//int main() {
//    int array[100] = {
//        5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7,
//        5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6, 1, 8, 3, 0, 3, 7, 9,
//        2, 7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6, 8, 6, 3, 3,
//        8, 5, 1, 6, 3, 4, 6, 7, 0, 7, 8, 2, 7, 6, 8, 9, 5, 6, 5, 6,
//        1, 4, 0, 1, 0, 0, 9, 4, 8, 0, 9, 1, 2, 8, 5, 0, 2, 5, 3, 3
//    };
//
//    int daysInMonth[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
//    
//    int ret = 0;
//    for (int month = 1; month < 13; month++)
//    {
//        for (int day = 1; day <= daysInMonth[month]; day++)
//        {
//            int FormData[8] = { 2,0,2,3,month / 10,month % 10,day / 10,day % 10 };
//            int k = 0;
//            for (int i = 0; i < 100; i++)
//            {
//                
//                if (array[i] == FormData[k])
//                {
//                    k++;
//                    if (k == 8)
//                    {
//                        ret++;
//                        break;
//                    }
//                }
//            }
//        }
//        
//    }
//    
//
//    printf("%d\n", ret);
//    return 0;
//}


void Culculate()
{
	double t = 23333333;
	double x = 0;

	for (x = 1; x <= t; x++)
	{
		double x_d_t = x / t;
		double y_d_t = (t - x) / t;
		double x_t = log(x / t) / log(2);
		double y_t = log((t - x) / t) / log(2);
		float res = -x * x_d_t * x_t - (t - x) * y_d_t * y_t;
		//cout << x << endl;
		/*if (x == 11666666)
			cout << x << endl;;*/
		if ( res > 11625907.5798 )
		{
			cout.setf(ios::fixed);
			cout << x << endl;
			break;
		}

	}
}

int main()
{
	Culculate();
	return 0;
}